package com.linxcool.ui;

import android.util.SparseArray;
import android.view.View;

/**
 * ListView或GridView视图缓存辅助工具类
 * @author 胡昌海(linxcool.hu)
 */
public class ViewHolder {
	
	@SuppressWarnings("unchecked")  
	public static <T extends View> T get(View view, int id) {  
		SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();  
		if (viewHolder == null) {
			viewHolder = new SparseArray<View>();  
			view.setTag(viewHolder);  
		}
		View childView = viewHolder.get(id);  
		if (childView == null) {  
			childView = view.findViewById(id);  
			viewHolder.put(id, childView);  
		}  
		return (T) childView;  
	} 
	
}
